home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / enlightenment / e_gadget.h < prev    next >
C/C++ Source or Header  |  2006-01-09  |  2KB  |  75 lines

  1. #ifdef E_TYPEDEFS
  2.  
  3. typedef struct _E_Gadget E_Gadget;
  4. typedef struct _E_Gadget_Face E_Gadget_Face;
  5. typedef struct _E_Gadget_Change E_Gadget_Change;
  6. typedef struct _E_Gadget_Api E_Gadget_Api;
  7.  
  8. #else 
  9. #ifndef E_GADGET_H
  10. #define E_GADGET_H
  11.  
  12. #define E_GADGET_TYPE 0xE0b01021
  13.  
  14. struct _E_Gadget_Api
  15. {
  16.   E_Module *module;
  17.   const char *name;
  18.   int per_zone; /* 1 - one face per zone, 0 - one per container */
  19.   void (*func_face_init) (void *data, E_Gadget_Face *gadget_face);
  20.   void (*func_face_free) (void *data, E_Gadget_Face *gadget_face);
  21.   void (*func_change) (void *data, E_Gadget_Face *gadget_face, E_Gadman_Client *gmc, E_Gadman_Change change);
  22.   void (*func_menu_init) (void *data, E_Gadget *gadget);
  23.   void (*func_face_menu_init) (void *data, E_Gadget_Face *gadget_face);
  24.   void *data;
  25. };
  26.  
  27. struct _E_Gadget
  28. {
  29.   E_Object e_obj_inherit;
  30.   Evas_List *faces;
  31.  
  32.   E_Module *module;
  33.   const char *name;
  34.   E_Menu *menu;
  35.  
  36.   struct {
  37.     void (*face_init) (void *data, E_Gadget_Face *gadget_face);
  38.     void (*face_free) (void *data, E_Gadget_Face *gadget_face);
  39.     void (*change) (void *data, E_Gadget_Face *gadget_face, E_Gadman_Client *gmc, E_Gadman_Change change);
  40.     void (*menu_init) (void *data, E_Gadget *gadget);
  41.     void (*face_menu_init) (void *data, E_Gadget_Face *gadget_face);
  42.   } funcs;
  43.  
  44.   void *data;
  45. };
  46.  
  47. struct _E_Gadget_Face
  48. {
  49.   E_Gadget *gad;
  50.   E_Container *con;
  51.   E_Zone *zone;
  52.   Evas *evas;
  53.  
  54.   E_Menu *menu;
  55.   void *conf;
  56.  
  57.   Evas_Object *main_obj;
  58.   Evas_Object *event_obj;
  59.   E_Gadman_Client *gmc;
  60.  
  61.   void *data;
  62. };
  63.  
  64. struct _E_Gadget_Change
  65. {
  66.   E_Gadget *gadget;
  67.   E_Gadget_Face *face;
  68. };
  69.  
  70. EAPI E_Gadget *e_gadget_new(E_Gadget_Api *api);
  71. EAPI void      e_gadget_face_theme_set(E_Gadget_Face *face, char *category, char *group);
  72.  
  73. #endif
  74. #endif
  75.